#include <stdio.h>

#define N 20

int main(void)
{
    char str[N];

    printf("输入一行字符串：\n");
    int i = 0; // 初始化为0

    do {
        scanf("%c", &str[i]);
    } while (str[i++] != '\n' && i < N - 1);

    (i == N - 1) ? (str[i] = '\0') : (str[i - 1] = '\0'); // 补充字符串结束符

    // 倒序输出
    int end = (i == N - 1) ? i : i - 1; // 结束符的下标位置
    printf("倒序字符串：\n");
    for (i = end - 1; i >= 0; i--)
        putchar(str[i]);
    printf("\n");

    // 大小写转换
    for (i = 0; i < end; i++) {
        if (str[i] >= 'a' && str[i] <= 'z')
            str[i] -= ('a' - 'A');
        else if (str[i] >= 'A' && str[i] <= 'Z')
            str[i] += ('a' - 'A');
    }
    printf("大小写转换后的字符串：\n");
    puts(str);
    
    // printf("%p\n", str);
    // printf("%p\n", str + 1);
    // printf("%p\n", &str);
    // printf("%p\n", &str + 1);
    return 0;
}


